/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the License);
 * you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.alibaba.polardbx.common.cdc;

import lombok.Data;

import java.sql.ResultSet;
import java.sql.SQLException;

@Data
public class CdcDdlRecord {
    public final long id;
    public final long jobId;
    public final String sqlKind;
    public final String schemaName;
    public final String tableName;
    public final String gmtCreated;
    public final String ddlSql;
    public final String metaInfo;
    public final int visibility;
    public final String ext;

    public static CdcDdlRecord fill(ResultSet rs) throws SQLException {
        return new CdcDdlRecord(
            rs.getLong("ID"),
            rs.getLong("JOB_ID"),
            rs.getString("SQL_KIND"),
            rs.getString("SCHEMA_NAME"),
            rs.getString("TABLE_NAME"),
            rs.getString("GMT_CREATED"),
            rs.getString("DDL_SQL"),
            rs.getString("META_INFO"),
            rs.getInt("VISIBILITY"),
            rs.getString("EXT")
        );
    }
}
